/*************************************************
*      Filename: moving_point.h
*        Coding: utf-8
*        Author: Futuan Li
*         Email: lifutuan@galasports.net
*      HomePage: http://www.galasports.net
*  Copyright(C): InnoReal Technology Co.,Ltd.
*       Version: 0.0.1
*    CreateDate: 2018-04-25 11:54:23
*    LastChange: 2018-06-21 18:11:35
*          Desc: 
*       History: 
*************************************************/

#pragma once
#ifndef _MOVING_POINT_H_
#define _MOVING_POINT_H_

#include <vector>
#include "calculate_total_evalation.h"
#include "input_data.h"
#include "gn_solver.h"
#include "distance_twomesh.h"
//#include "output_vector1d2d.h"

class Moving_Point
{
	public:
		void Moving_Point_Auto(std::vector<int> data, std::vector<std::vector<double> > dis_eva);
		void Moving_Point_Update(int sf_sum);
		//add the functional partly calculate_total_evalation.cu to reduce the transform cost between the vector keyframe and the vector dis_eva
		void Moving_TPoint_Update(int sf_sum);
		void Moving_NTPoint_Update(int sf_sum);

		void Interp_point(int sf_sum);

		std::vector<int> keyframe;
		std::vector<double> distance_eva_col0; 
		std::vector<double> distance_eva_col1; 
		std::vector<std::vector<double> > dis_form;
		double dis_max_value_font;
		//Output_Vector output_vector;
};





#endif // _MOVING_POINT_H_
